﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using VXCompany.SilverlightLogging.ServiceProxy;
using VXCompany.SilverlightLogging.ServiceProxy;

namespace VXCompany.SilverlightLogging.MVVM.Models
{
	public class LoggingConfiguration : NotifyingBase, ILoggingConfigurationMessage
	{
		private string ClientAddressField;

		private bool IsUserAuthenticatedField;

		private ErrorLevel MinLogLevelField;

		private ErrorLevel MinSyncLevelField;

		private SyncBehaviorFlags SyncBehaviorFlagsField;

		private bool SyncWhenStorageUnavailableField;

		private string UserIDField;

		public string ClientAddress
		{
			get
			{
				return this.ClientAddressField;
			}
			set
			{
				if ((object.ReferenceEquals(this.ClientAddressField, value) != true))
				{
					this.ClientAddressField = value;
					this.RaisePropertyChanged("ClientAddress");
				}
			}
		}

		public bool IsUserAuthenticated
		{
			get
			{
				return this.IsUserAuthenticatedField;
			}
			set
			{
				if ((this.IsUserAuthenticatedField.Equals(value) != true))
				{
					this.IsUserAuthenticatedField = value;
					this.RaisePropertyChanged("IsUserAuthenticated");
				}
			}
		}

		public ErrorLevel MinLogLevel
		{
			get
			{
				return this.MinLogLevelField;
			}
			set
			{
				if ((this.MinLogLevelField.Equals(value) != true))
				{
					this.MinLogLevelField = value;
					this.RaisePropertyChanged("MinLogLevel");
				}
			}
		}

		public ErrorLevel MinSyncLevel
		{
			get
			{
				return this.MinSyncLevelField;
			}
			set
			{
				if ((this.MinSyncLevelField.Equals(value) != true))
				{
					this.MinSyncLevelField = value;
					this.RaisePropertyChanged("MinSyncLevel");
				}
			}
		}

		public SyncBehaviorFlags SyncBehaviorFlags
		{
			get
			{
				return this.SyncBehaviorFlagsField;
			}
			set
			{
				if ((this.SyncBehaviorFlagsField.Equals(value) != true))
				{
					this.SyncBehaviorFlagsField = value;
					this.RaisePropertyChanged("SyncBehaviorFlags");
				}
			}
		}

		public bool SyncWhenStorageUnavailable
		{
			get
			{
				return this.SyncWhenStorageUnavailableField;
			}
			set
			{
				if ((this.SyncWhenStorageUnavailableField.Equals(value) != true))
				{
					this.SyncWhenStorageUnavailableField = value;
					this.RaisePropertyChanged("SyncWhenStorageUnavailable");
				}
			}
		}

		public string UserID
		{
			get
			{
				return this.UserIDField;
			}
			set
			{
				if ((object.ReferenceEquals(this.UserIDField, value) != true))
				{
					this.UserIDField = value;
					this.RaisePropertyChanged("UserID");
				}
			}
		}
	}
}
